1. Field
Embodiments described herein generally relate to methods and apparatuses lot processing input lists of data.
2. Background Art
Duplicate elimination processes receive an input list of items and identify unique items in the list. Examples of a duplicate elimination processes include template functions included in the C++ Standard Template Library (STL). These functions can, for example, interchange each item in the input list that is a duplicate of a preceding item with the next, item that is not a duplicate. Thus, the duplicates remain in the list, but are shifted to the end of the list.
Although these functions eliminate duplicates, they often do not have broad applicability. For example, they may be inoperable in accelerated processing units (APU) that are based around a highly parallel set of processing units, such as graphics processing units (CPUs). Other functions can be used to eliminate duplicates in highly parallel APUs. These functions, however, often require large number of comparisons between, items of the input list, and thus can be highly resource intensive.